package stack_queue.leetcode.Leetcode;

import java.util.HashMap;
import java.util.Map;

/**
 * @author shkstart只出现一次的数字
 * 给你一个整数数组 nums ，除某个元素仅出现 一次 外
 * 其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
 * @create 2022-10-09-14:35
 */
public class Num137 {
    public int singleNumber(int[] nums) {

        //创建一个Map来存放数据
        Map<Integer , Integer> map = new HashMap<>();
        for(int i : nums ){
            if(map.containsKey(i)){
                //此时I出现第二次，将value+1
                int count = map.get(i);
                map.put(i , count+1);
            }else{
//                此时i第一次出现
                map.put(i, 1);
            }

        }
        //遍历Map找出value是1 的元素
        for(Map.Entry<Integer,Integer> entry : map.entrySet()){
            if(entry.getValue() == 1){
                return entry.getKey();
            }
        }
return -1;
    }
}
